Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-generate the tasks namespace #320

Merged

Conversation

Xtansia
Copy link
Collaborator

@Xtansia Xtansia commented Aug 17, 2023

Description

Re-generate the tasks namespace from the OpenAPI specs.

Using this a relatively small surface area to validate generation from the OpenAPI specs.
Will be done in a piece-meal fashion to re-generate all operations, and also generate new/missing operations.

Issues Resolved

Part of #193

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Thomas Farr <tsfarr@amazon.com>
@Xtansia Xtansia marked this pull request as ready for review August 21, 2023 03:37
Copy link
Member

@dblock dblock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at https://github.com/opensearch-project/opensearch-net/pull/320/files?w=1 and found some suspicious async/await changes, confirm these are ok?

{
try
{
token.ThrowIfCancellationRequested();
var generated = await Engine.CompileRenderAsync(viewLocation, model);
WriteFormattedCsharpFile(targetLocation, generated);
await WriteFormattedCsharpFile(targetLocation, generated);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This await is new, is it ok?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are in the code generator, it is because I changed the WriteFormattedCsharpFile method to be async, as I changed the formatter and from sync file write to async file write.

I can split these changes to the code generator out into a seperate PR if you like

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need, I just want to make sure there's no negative end-user impact.

src/OpenSearch.Client/ApiUrlsLookup.cs Show resolved Hide resolved
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*
* Licensed to Elasticsearch B.V. under one or more contributor
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need elastic license in a new file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe it's still required due to the generator code/templates themself still being licensed to ES. Never got a definitive answer saying safe to drop.

cc: @dblock

#73

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it’s safe to keep.

@Xtansia Xtansia merged commit 65ac116 into opensearch-project:main Aug 22, 2023
@Xtansia Xtansia deleted the feat/code-gen/tasks-namespace branch August 22, 2023 23:56
Xtansia added a commit to Xtansia/opensearch-net that referenced this pull request Dec 3, 2023
Signed-off-by: Thomas Farr <tsfarr@amazon.com>
dblock pushed a commit that referenced this pull request Dec 4, 2023
* Revert "Remove ApiGenerator (#156)" (#222)

* Revert "Remove ApiGenerator (#156)"

This reverts commit 7db02e9.

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Update packages.lock.json

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Bump Spectre.Console from 0.30.0 to 0.47.0 (#227)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Implement parsing OpenAPI to internal model (#228)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Bump Newtonsoft.Json from 13.0.1 to 13.0.3 (#232)

* Bump Newtonsoft.Json from 13.0.1 to 13.0.3

Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 13.0.1 to 13.0.3.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](JamesNK/Newtonsoft.Json@13.0.1...13.0.3)

---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog & packages.lock.json

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Upgrade RazorLight and use embedded resource project (#233)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Remove support for the `net461` target (#256)

* Remove support for the `net461` target

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add changelog entry

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Bump Microsoft.CodeAnalysis.CSharp from 4.2.0 to 4.6.0 (#270)

* Bump Microsoft.CodeAnalysis.CSharp from 4.2.0 to 4.6.0

Bumps [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.2.0 to 4.6.0.
- [Release notes](https://github.com/dotnet/roslyn/releases)
- [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md)
- [Commits](https://github.com/dotnet/roslyn/commits)

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog & packages.lock.json

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Remove packages.lock.json & fix CI caching (#265)

* Remove packages.lock.json & remove redundant caching

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-add caching

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Include all proj files in caching

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add ability to generate only a subset of operations (#278)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Clean up old rest specification files (#319)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate tasks namespace (#320)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Bump NSwag.Core.Yaml from 13.19.0 to 13.20.0 (#336)

* Bump NSwag.Core.Yaml from 13.19.0 to 13.20.0

Bumps [NSwag.Core.Yaml](https://github.com/RicoSuter/NSwag) from 13.19.0 to 13.20.0.
- [Release notes](https://github.com/RicoSuter/NSwag/releases)
- [Changelog](https://github.com/RicoSuter/NSwag/blob/master/CHANGELOG.md)
- [Commits](RicoSuter/NSwag@v13.19.0...v13.20.0)

---
updated-dependencies:
- dependency-name: NSwag.Core.Yaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Re-generate `dangling_indices` namespace (#333)

* Correct handling of deprecated parameters

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `dangling_indices` namespace

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add remarks about when cluster_manager_timeout is supported

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Delete missed old file

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `ingest` namespace (#340)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `snapshot` namespace (#351)

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `nodes` namespace (#352)

* Use specification naming for enums

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Handle deprecated paths

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `nodes.hot_threads`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Handle overloaded param

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Better sorting

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `nodes.info`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `nodes.reload_secure_settings`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Sort URL parts

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `nodes.stats`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Correctly handle URL part enum options

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Make ApiUrls readonly

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `nodes.usage`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster` namespace (part 1) (#356)

* Re-generate `cluster.allocation_explain`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.delete_component_template`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.delete_voting_config_exclusions`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.exists_component_template`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.get_component_template`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.get_settings`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.health`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.pending_tasks`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Support deprecation and added versions for API methods in ApiGenerator (#402)

* Handle generating deprecation notices on high-level API methods

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Improve formatting

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Better URL path handling and support x-version-added on APIs

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add support for Point In Time APIs (#405)

* Add `CreatePit` & `DeletePit` methods

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add `DeleteAllPits` and `GetAllPits` methods

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add PIT search support

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add integration tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add docs

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add changelog entry

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Correct

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix changelog typo

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add tests for CreatePit

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add tests for DeletePit

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fixing tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Cleanup

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add tests for GetAllPits & DeleteAllPits

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* PitSearch tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* call isolated

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* writable cluster

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Revert breaking namespace changes (#425)

Reverts #200, #202, #203, #205, #206, #207, #208, #209

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Bump CSharpier.Core from 0.25.0 to 0.26.1 (#430)

* Bump CSharpier.Core from 0.25.0 to 0.26.1

Bumps [CSharpier.Core](https://github.com/belav/csharpier) from 0.25.0 to 0.26.1.
- [Release notes](https://github.com/belav/csharpier/releases)
- [Changelog](https://github.com/belav/csharpier/blob/main/CHANGELOG.md)
- [Commits](belav/csharpier@0.25.0...0.26.1)

---
updated-dependencies:
- dependency-name: CSharpier.Core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Add support for component template APIs (#411)

* Generate `cluster.put_component_template`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Implement high-level DeleteComponentTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Implement high-level ComponentTemplateExists

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix license

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Remove old put_component_template

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Implement high-level GetComponentTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add tests for ComponentTemplateExists

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add tests for DeleteComponentTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add tests for GetComponentTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Implement high-level PutComponentTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add component template CRUD tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add naming convention exception for ComponentTemplateExists

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Update guide

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Formatting

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add changelog entry

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix license header

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix namespaces

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix license header

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add support for composable index templates (#437)

* Allow renaming URL path parts in generator

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Generate {delete,exists,get,put}_index_template as *ComposableTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add resp/req bodies for *ComposableIndexTemplate

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add ComposableIndexTemplateCrudTests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add ComposableIndexTemplateExists tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add DeleteComposableIndexTemplate tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add GetComposableIndexTemplate tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add PutComposableIndexTemplate tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Non-overlapping templates

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Test data_stream template mapping serialization

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Update guide and add sample

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add changelog entry

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Tidy generated code

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Review feedback

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster` namespace (part 2) (#385)

* Re-generate `cluster.post_voting_config_exclusions`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.put_settings`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.remote_info`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.reroute`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.state`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Re-generate `cluster.stats`

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Generate missing cluster weighted routing & decommission awareness operations

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Bump Spectre.Console from 0.47.0 to 0.48.0 (#450)

* Bump Spectre.Console from 0.47.0 to 0.48.0

Bumps [Spectre.Console](https://github.com/spectreconsole/spectre.console) from 0.47.0 to 0.48.0.
- [Release notes](https://github.com/spectreconsole/spectre.console/releases)
- [Commits](spectreconsole/spectre.console@0.47.0...0.48.0)

---
updated-dependencies:
- dependency-name: Spectre.Console
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Bump CSharpier.Core from 0.26.1 to 0.26.3 (#448)

* Bump CSharpier.Core from 0.26.1 to 0.26.3

Bumps [CSharpier.Core](https://github.com/belav/csharpier) from 0.26.1 to 0.26.3.
- [Release notes](https://github.com/belav/csharpier/releases)
- [Changelog](https://github.com/belav/csharpier/blob/main/CHANGELOG.md)
- [Commits](belav/csharpier@0.26.1...0.26.3)

---
updated-dependencies:
- dependency-name: CSharpier.Core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update changelog

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>

* Add higher-level HTTP DSL methods (#447)

* Lay foundations

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Implement generation

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Run generator

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Update samples

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Update guide

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Add changelog entry

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* PR comments

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Fix naming tests

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

* Why is the ordering of these statements load-bearing???

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>

---------

Signed-off-by: Thomas Farr <tsfarr@amazon.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants